class TemplateManager:
    @staticmethod
    def generate_templates(cycle, features, time_diff, dynamic_question, discharge_caps):
        """生成问题模板"""
        templates = []
        
        if features["discharge_cap"] and features["efficiency"] and features["retention"]:
            templates.append(f"您是一个电池领域与性能研究分析专家，一颗氧化物软包循环全电池(正极材料为O3层状氧化物，负极材料为硬碳)在第{cycle}轮放电时(首循环仅充电，尾循环仅放电，中间先放电再充电)，正极材料活性物质的质量为{features['reactant_mass']}(mg)，放电容量为{features["discharge_cap"]}(Ah)，恒流充电倍率与恒流放电倍率相同，1-3轮恒流充/放电倍率为0.2C，4-6轮恒流充/放电倍率为0.5C，7-200轮恒流充/放电倍率为1C，"
                                    f"恒流充电电流为{features["cc_charge_current"]}(A)，恒流放电电流为{features["cc_discharge_current"]}(A)，恒流充电截止电压为4(V), 恒流放电截止电压为2(V)(注意：电压-容量关系非线性)，此循环恒流放电起始时间与上个循环恒流充电结束时间的时间差为{time_diff}h，充放电效率为{features["efficiency"]}(%)(由于是先充电再放电所以充放电效率大于100%，充放电效率=同阶段的（放电容量 / 充电容量）× 100%)，"
                                    f"容量保持率为{features["retention"]}(%)，{discharge_caps}(可分析容量衰减趋势)，环境温度为25摄氏度，数据来源于恒流充电，"
                                    f"无恒压充电，{dynamic_question}")

        if features["mid_volt"] and features["cc_ratio"] and features["discharge_energy"]\
                        and features["time"]:
            templates.append((f"您是一个电池领域与性能研究分析专家，一颗氧化物软包循环全电池(正极材料为O3层状氧化物，负极材料为硬碳)在第{cycle}轮放电时(首循环仅充电，尾循环仅放电，中间先放电再充电)，正极材料活性物质的质量为{features['reactant_mass']}(mg)，中值电压为{features["mid_volt"]}(V)，恒流充电倍率与恒流放电倍率相同，1-3轮恒流充/放电倍率为0.2C，4-6轮恒流充/放电倍率为0.5C，7-200轮恒流充/放电倍率为1C，"
                                     f"恒流充电电流为{features["cc_charge_current"]}(A)，恒流放电电流为{features["cc_discharge_current"]}(A)，恒流充电截止电压为4(V), 恒流放电截止电压为2(V)(注意：电压-容量关系非线性)，此循环恒流放电起始时间与上个循环恒流充电结束时间的时间差为{time_diff}h，恒流充入比率为{features["cc_ratio"]}(%)，放电能量为"
                                     f"{features["discharge_energy"]}(Wh)，{discharge_caps}(可分析容量衰减趋势)，容量保持率为{features["retention"]}(%)，环境温度为25摄氏度，数据来源于恒流充电，无恒压充电，放电时间为{features["time"]}(h)，"
                                     f"{dynamic_question}"))

        if features["cc_ratio"] and features["current_diff"] and features["ratio_cap"]:
            templates.append(f"您是一个电池领域与性能研究分析专家，一颗氧化物软包循环全电池(正极材料为O3层状氧化物，负极材料为硬碳)在第{cycle}轮放电时(首循环仅充电，尾循环仅放电，中间先放电再充电)，正极材料活性物质的质量为{features['reactant_mass']}(mg)，恒流充入比率{features["cc_ratio"]}(%)，恒流充电倍率与恒流放电倍率相同，1-3轮恒流充/放电倍率为0.2C，4-6轮恒流充/放电倍率为0.5C，7-200轮恒流充/放电倍率为1C，"
                                    f"恒流充电电流为{features["cc_charge_current"]}(A)，恒流放电电流为{features["cc_discharge_current"]}(A)，恒流充电截止电压为4(V), 恒流放电截止电压为2(V)(注意：电压-容量关系非线性)，此循环恒流放电起始时间与上个循环恒流充电结束时间的时间差为{time_diff}h，充电电流差值为{features["current_diff"]}(A)，"
                                    f"随后放电比容量为{features["ratio_cap"]}(mAh/g)，{discharge_caps}(可分析容量衰减趋势)，容量保持率为{features["retention"]}(%)，环境温度为25摄氏度，数据来源于恒流充电，无恒压充电，{dynamic_question}")

        if features["ratio_cap"] and features["ratio_energy"] and features["net_cap"]:
            templates.append((f"您是一个电池领域与性能研究分析专家，一颗氧化物软包循环全电池(正极材料为O3层状氧化物，负极材料为硬碳)在第{cycle}轮放电时(首循环仅充电，尾循环仅放电，中间先放电再充电)，正极材料活性物质的质量为{features['reactant_mass']}(mg)，放电比容量为{features["ratio_cap"]}(mAh/g)，放电比能量为{features["ratio_energy"]}mWh/g，"
                                f"恒流充电倍率与恒流放电倍率相同，1到3轮恒流充/放电倍率为0.2C，4-6轮恒流充/放电倍率为0.5C，7-200轮恒流充/放电倍率为1C，恒流充电电流为{features["cc_charge_current"]}(A)，恒流放电电流为{features["cc_discharge_current"]}(A)，恒流充电截止电压为4(V), 恒流放电截止电压为2(V)(注意：电压-容量关系非线性)，此循环恒流放电起始时间与上个循环恒流充电结束时间的时间差为{time_diff}h，"
                                f"净放电容量{features["net_cap"]}(Ah)，{discharge_caps}(可分析容量衰减趋势)，容量保持率为{features["retention"]}(%)，环境温度为25摄氏度，数据来源于恒流充电，无恒压充电，{dynamic_question}"))

        return templates